% lazy search engine for the Minesweeper
functor
import
   Search

export
   All

define
   % lazy all-solution search engine
   local
      fun lazy {AllTail SO}
	 case {SO next($)} of [X] then X|{AllTail SO} else nil end
      end
   in
      fun {All P}
	 {AllTail {New Search.object script(P)}}
      end
   end
end
